<#assign pojo=oneToManyPojo.getOne()>
<#assign many=oneToManyPojo.getMany()>
<#assign ones=oneToManyPojo.getOnes()>
<#assign fields=pojo.getFilterdPojoFields()>
<#assign declarationName = pojo.importType(pojo.getDeclarationName())>
<#assign declarationNameFirstLetterLower = pojo.importType(pojo.getDeclarationNameFirstLetterLower())>
<#assign realPackageAndClassPath = "${pojo.getRealPackageAndClassPath()}">
<#assign masterid = pojo.getDeclarationNameFirstLetterLower()+"Id">
import React from 'react';
import {Icon} from 'antd';

// 定义某个表的dataSchema, 结构跟querySchema很相似, 见下面的例子
// 注意: 所有的key不能重复

// 这个配置不只决定了table的schema, 也包括用于新增/删除的表单的schema
/*
  {
    key: 'id',  // 传递给后端的key
    title: 'ID',  // 前端显示的名字

    // 其实dataType对前端的意义不大, 更重要的是生成后端接口时要用到, 所以要和DB中的类型一致
    // 对java而言, int/float/string/datetime会映射为Long/Double/String/Date
    dataType: 'string',  // 数据类型, 目前可用的: int/float/string/datetime

    // 这一列是否是主键?
    // 如果不指定主键, 不能update/delete, 但可以insert
    // 如果指定了主键, insert/update时不能填写主键的值;
    // 只有int/varchar可以作为主键, 但是实际上主键一般都是自增id
    primary: true,

    // 可用的showType: normal/radio/select/checkbox/multiSelect/textarea/image/imageArray/file
    // FIXME: image/imageArray/file类型暂未实现
    showType: 'normal',  // 默认是normal, 就是最普通的输入框

    showInTable: false,  // 这一列是否要在table中展示, 默认true
    disabled: true, // 表单中这一列是否禁止编辑, 默认false

    // 扩展接口, 决定了这一列渲染成什么样子
    render: (text, record) => {
      if (1001 == text) {
        return <div>{text}<Icon type="user"/></div>
      } else {
        return <div>{record.name}<Icon type="user"/></div>
      }
    }
  },
*/
module.exports = [
  {
    key: 'id',  // 传递给后端的key
    title: 'ID',  // 前端显示的名字

    // 其实dataType对前端的意义不大, 更重要的是生成后端接口时要用到, 所以要和DB中的类型一致
    // 对java而言, int/float/string/datetime会映射为Long/Double/String/Date
    dataType: 'string',  // 数据类型, 目前可用的: int/float/string/datetime

    // 这一列是否是主键?
    // 如果不指定主键, 不能update/delete, 但可以insert
    // 如果指定了主键, insert/update时不能填写主键的值;
    // 只有int/varchar可以作为主键, 但是实际上主键一般都是自增id
    primary: true,

    // 可用的showType: normal/radio/select/checkbox/multiSelect/textarea/image/imageArray/file
    // FIXME: image/imageArray/file类型暂未实现
    showType: 'normal',  // 默认是normal, 就是最普通的输入框

    showInTable: false,  // 这一列是否要在table中展示, 默认true
    disabled: true, // 表单中这一列是否禁止编辑, 默认false
  },
<#assign fields=pojo.getPojoFields()>
<#foreach field in fields>
<#if field.getIsSampleField()>
  {
    key: '${field.getName()}',
    title: '<#if field.getComment()?exists>${field.getComment()}<#else>${field.getName()}</#if>',
    dataType: '${field.getHtmlType()}',  // 对于普通的input框, 可以设置addonBefore/addonAfter
    placeholder: '请输入<#if field.getComment()?exists>${field.getComment()}<#else>${field.getName()}</#if>',
    showType: 'normal',  // 默认是normal, 就是最普通的输入框
  },
</#if>
</#foreach>
];
